import java.io.FileOutputStream;

public class ProxyTest {
    public static void main(String[] args) throws Exception {


        /**
         * ASM直接操作的是字节码文件吗？那视频中提到的这个$Proxy0Dump和由
         * 其产生的字节码是啥关系呢？？？不太懂，先不管
         *
         * 为了验证查看生成的字节码内容，我们把它写入文件中$Proxy0.class
         * 作为一个.class文件，然后在idea中反编译查看，就可以看到这个动态代理类的真实面貌呢。
         * 当然真正的动态代理类是直接在内存中运行产生加载的，不会在磁盘上产生这个文件。
         * 小节：虽然对于这个ASM还是膜拜的阶段，但是对字节码这个东西感觉已经在亲手触碰了，加上我们知道
         * arthas也可以反编译查看类内容，让我感觉到字节码也不是那种虚无缥缈的感觉呢。不错，有进步
         */

        byte[] dump = $Proxy0Dump.dump();
        FileOutputStream os = new FileOutputStream("$Proxy0.class");
        os.write(dump, 0, dump.length);
        os.close();

    }
}
